var user=getUserEntityFromCache();
var pay_goods_info="";//商品的支付信息
var pay_entity;//获取到用于支付的各种参数的json对象
var total_price=0;//总价
var cid=0;//优惠券id

if(user.mobile==null||user.mobile==undefined||user.mobile==""){
    window.location.href="/user/mobilebind";
}

$(function () {
    init();
    addEvent();
    if (!user.isLogin()) {//没登录
        //微信授权回调回来
        if(code!=undefined&&code!=null&&code.length>0&&state=="pocket"){
            getWxUserInfo();
        }
        else {
            user.clearUserInfoCache();
            getUserAuthorize();
        }
    }
    else {
        getHouseData();
    }
})

function getHouseData() {
    getAttentionList();
}

function init() {

}

function addEvent() {
    $("#div_now").click(function(){
        payForCoupon();
    });
}


function payForCoupon() {
    if(pay_goods_info!=null&&pay_goods_info!=undefined){
        if(user&&user.isLogin()){
            getCouponPayInfo();
        }
        else {
            showAlert("缺少用户身份标识");
        }
    }
    else {
        showAlert("缺少支付实体信息");
    }
}

//获取商品的pay信息，用于微信支付的商品支付信息
function getCouponPayInfo(){
    $.ajax({
        type: "get",
        async: true,
        url: "/v1/coupon/buy",
        data: {uid:user.uid,cid:cid,openId:user.openid},
        dataType: "json",
        beforeSend:function(){
            showLoading();
        },
        success: function(data){
            if(data.code=="success"){
                if(data.data!=null&&data.data!=undefined&&data.data.jsApiParameters!=null&&data.data.jsApiParameters!=undefined){
                    pay_goods_info=data.data.jsApiParameters;
                    callpay();
                }
                else {
                    showAlert(data.err_msg);
                }
                hideLoading();
            }
            else {
                hideLoading();
                showAlert(data.err_msg);
            }

        },
        error: function(){
            hideLoading();
        }
    });
}

//调用微信JS api 支付
function jsApiCall()
{
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        JSON.parse(pay_goods_info),
    function(res){
        // WeixinJSBridge.log(res.err_msg);
        // alert(res.err_code+"|"+res.err_desc+"|"+res.err_msg);
        if(res.err_msg == "get_brand_wcpay_request:ok" ) {
            showAlert("支付成功");
            window.location.replace(domain+"/user/coupon");
        }
        if(res.err_msg == "get_brand_wcpay_request:cancel" ) {
            showAlert("您取消了支付");
        }
        else {
            showAlert("支付失败："+res.err_msg);
        }
    }
);
}

function callpay()
{
    if (typeof WeixinJSBridge == "undefined"){
        if( document.addEventListener ){
            document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
        }else if (document.attachEvent){
            document.attachEvent('WeixinJSBridgeReady', jsApiCall);
            document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
        }
    }else{
        jsApiCall();
    }
}


//请求创建支付信息
function createPay() {
    $.ajax({
        type: "get",
        url: domain+"/pay/createJSPay",
        data: {payinfo:pay_goods_info, openid:user.openid},
        dataType: "json",
        beforeSend:function(){

        },
        success: function(data){
            if(data.code==0){
                if(data.data!=null&&data.data!=undefined){
                    pay_entity=data.data;
                    if (typeof WeixinJSBridge == "undefined"){
                        showAlert("您当前不在微信环境");
                    }else {
                        onBridgeReady(pay_entity);
                    }
                }
            }
            else {
                showAlert(data.err_msg);
            }
            hideLoading();
        },
        error: function(){
            hideLoading();
        }
    });
}

//调用微信支付
function onBridgeReady(payObj){
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest', {
            "appId":appId,     //公众号名称，由商户传入
            "timeStamp":payObj.timeStamp,         //时间戳，自1970年以来的秒数
            nonceStr: payObj.nonceStr, // 支付签名随机串，不长于 32 位
            package: payObj.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
            signType: payObj.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
            paySign: payObj.paySign, // 支付签名
        },
        function(res){
            if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                showAlert("支付成功");
                window.location.href="/user/coupon";
            }
            if(res.err_msg == "get_brand_wcpay_request:cancel" ) {
                showAlert("您取消了支付");
            }
            else {
                showAlert("支付失败："+reserr_msg);
            }
        }
    );
}

function getAttentionList(){
    $.ajax({
        type: "get",
        async: true,
        url: "/v1/coupon/list",
        data: {uid:user.uid},
        dataType: "json",
        beforeSend:function(){
            showLoading();
        },
        success: function(data){
            if(data.code=="success"){
                var data_list=data.data.list;
                appendHouseData(data_list);
            }
            else {
                showAlert(data.message);
            }
            hideLoading();
        },
        error: function(){
            hideLoading();
        }
    });
}

function appendHouseData(list) {
    if(list!=null&&list.length>0){
        var house_html="";
        var item=list[0];
        cid=item.id;
        $("#title_text span").text(item.name+'优惠券');
        $("#div_sub span").text('￥'+item.amount);
        $("#dt_info2_right").text('￥'+item.amount);
        $("#div_wait span").text('￥'+item.amount);
    }
}

function getWxUserInfo() {
    getUserInfo(function (data) {
        if(data&&data.openid){
            user=new User(data.openid,data.mobile,data.nickname,data.headimgurl,data.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            user.cacheUserInfo(user.openid,user.nickname,user.mobile,user.avatar,user.uid,data.role,data.referee,data.parent_code,data.redpacket_money,data.redpacket_num,data.isgetredpacket);
            if(user.mobile==null||user.mobile==undefined||user.mobile==""){
                window.location.href="/user/mobilebind";
            }
            else {
                getHouseData();
            }
        }
        else {
            showAlert(data);
        }
    });
}

